package com.LA_houseLease.pojo.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.v3.oas.annotations.media.Schema;

import lombok.Data;
import java.util.Date;
import java.io.Serializable;


@Data
public class BaseEntity implements Serializable {

    @Schema(description = "主键")     //knife4j注解,用于在接口文档中标识属性描述
    @TableId(value = "id", type = IdType.AUTO)      //mybatisPlus注解,用于标识对应数据库的字段名称
    private Long id;

    @Schema(description = "创建时间")
    @TableField(value = "create_time",fill = FieldFill.INSERT)  //mybatis-plus自动填充
    @JsonIgnore // Jackson 库中的一个注解，用于在 JSON 序列化和反序列化过程中忽略 Java 对象中的特定属性
    private Date createTime;

    @Schema(description = "更新时间")
    @TableField(value = "update_time",fill = FieldFill.UPDATE)  //mybatis-plus自动填充
    @JsonIgnore
    private Date updateTime;

    @Schema(description = "逻辑删除")
    @TableField("is_deleted")
    @JsonIgnore
    //@TableLogic   //mybatis-plus逻辑删除中用于标识逻辑删除字段
    private Byte isDeleted;

}